Extend list of easyconfig parameters that extensions should not inherit: sources, patches, checksums, skipsteps#5075
Conversation
It does not make sense for extensions to inherit source(-likes), patches or checksums from the parent easyconfig. Especially the `sources` won't be used anyway, so reset those to the defaults to avoid confusion.
|
Hence we should reset that too. I found only 5 ECs that could be affected by this and all look OK:
|
sources, patches, checksums, skipsteps
|
Not letting extensions inheriting
That may be hard to change at this point. There definitely are a bunch of easyconfigs that rely on this long-standing behavior, so changing this now would at the very least need to be done carefully, for example by deprecating first, and produce hard errors in EasyBuild 6.0. |
How could we deprecate this? I don't see any way to know when something relies on having the value inherited. |
It does not make sense for extensions to inherit source(-likes), patches or checksums from the parent easyconfig.
Especially the
sourceswon't be used anyway, so reset those to the defaults to avoid confusion.self.srcis set by usingext['src']set bycollect_exts_file_infopossibly based onoptions['sources']I found this while handling the case where
cratesfor a Cargo extension were found which is an error: They would be unused.However they were not set for the extension but in the parent easyconfig.
More general: Most easyconfig parameters should not be inherited for extensions.
Do we actually want to inherit any parameters at all? If so which? Should we just annotate those and reset or remove the rest?